שאלה 1 בנה אוטומט המקבל את שפת כל המילים מעל הא"ב {,,} המכילות לפחות פעם אחת את הרצף ומיד אחרי כל אות מופיע הרצף. ניתן לפרק את השפה לשתי שפות בסיס מעל הא"ב :{,,} שפת כל המילים המכילות לפחות פעם אחת את הרצף, ושפת כל המילים בהן מיד אחרי כל אות מופיע הרצף. זהו אוטומט סופי דטרמיניסטי עבור השפה הראשונה,,, q0 q1 q q3 וזהו אוטומט סופי דטרמיניסטי עבור השפה השניה, שאלה 6 שפה ראשונה q0 q1 q,,, q3, ניתן לקבל אוטומט עבור השפה המבוקשת ע "י שימוששאלה 6 בטכניקתשפה המכפלה שנייה כדי לבנות אוטומט לשפת החיתוך של שתי השפות:
,, q00 q10 q1 q3, q33,, q01 q13 q03 q30 q0 q3 q31, שאלה 6 ציור שלישי בבנייה הדרגתית מגיעים ל- 1 מצבים )במקום 16 בבנייה מלאה(. אוטומטי הבסיס פשוטים למדי וסטנדרטיים ואח"כ יש שימוש באלגוריתם ידוע ואין צורך בהפעלת חשיבה עצמאית. עם זאת, יש לשים לב שאוטומטי הבסיס צריכים להיות דטרמיניסטיים, אחרת בניית אוטומט המכפלה אינה מוגדרת. בבנייה ישירה ניתן להגיע לאוטומט קטן יותר, אך בכל זאת מורכב ומועד לטעויות ביחס לאוטומטים עבור שפות הבסיס:, q0 q1 q q3 q4 q5,, q6,,,, q7 שאלה 1 בנה אוטומט מחסנית המקבל את השפה L מעל הא"בשאלה :{,,,d} 6 ציור אחרון שפות הבסיס L={ i i+k-j j d k i,j,k>0, k>j}
האוטומט יעבוד על פי האלגוריתם הבא: הוא ידחוף אותיות A למחסנית עם קריאת אותיות. עם קריאת אותיות יתחיל לשלוף ממנה אותיות קריאת שארית האותיות. אחרי שהמחסנית מתרוקנת יחזור וידחוף אליה אותיות A ואחר כך עם קריאת אותיות עם. עם קריאת אותיות d יתחיל לשלוף אותיות מהמחסנית ויעבור למצב מקבל עם התרוקנותה )ולכן, שלב הדחיפה השני דורש סימון תחתית המחסנית(. לאוטומט שישה מצבים: q 0 המצב ההתחלתי שבו נקראות אותיות מהקלט ונדחפות אותיות A למחסנית. q 1 מצב שליפה, אליו עובר האוטומט עם קריאת אותיות ונשאר בו כל עוד המחסנית לא התרוקנה. q מצב מילוי, אליו עובר האוטומט אחרי שהתרוקנה נשאר כל עוד נקראות אותיות. המחסנית בעקבות קריאת אותיות. מצב מילוי, אליו עובר האוטומט עם קריאת אותיות q 3 d. מצב שליפה, אליו עובר האוטומט עם קריאת אותיות q 4 q 5 מצב מקבל. המעברים: קריאת ראשונה קריאת שניה ויותר ובו הוא (q 0,,,q 0,A) (q 0,,A,q 0,AA) (q 0,,A,q 1,ε) (q 1,,A,q 1,ε) (q 1,,,q,S) קריאת ראשונה קריאת שניה ויותר לפני התרוקנות המחסנית קריאת ראשונה אחרי התרוקנות המחסנית קריאת שניה אחרי התרוקנות המחסנית קריאת שלישית ויותר אחרי התרוקנות המחסנית קריאת ראשונה קריאת שניה ויותר לפני התרוקנות המחסנית (q,,s,q,sa) (q,,a,q,aa) (q,,a,q 3,AA) (q 3,,A,q 3,AA) (q 3,d,A,q 4,ε) קריאת d ראשונה קריאת d שניה ויותר (q 4,d,A,q 4,ε) (q 4,d,S,q 5,ε) קריאת d המובילה להתרוקנות המחסנית א"ב המחסנית הוא כמובן {S,A} בנה אוטומט מחסנית המקבל את השפה הבאה מעל הא"ב :{,,} L={ n m n n,m 0, אי-זוגי m זוגי, n{ לפניך שפות מעל הא"ב.{,,} לכל אחת מהשפות קבע אם היא רגולרית או לא, והוכח את קביעתך. א. השפה n,m,k>0,k=n+3} { n m k ב. השפה n,m,k>0,k=n+m+3} { n m k ג. השפה n,m,k>0,k=n-m+3,n>m} { n m k
סעיף א השפה אינה רגולרית. נניח בשלילה שהיא רגולרית ולכן קיים אוטומט סופי A שמקבל אותה. נתבונן בקבוצת המילים האינסופית n>0}.w={ n נראה שעל כל מילה בקבוצהW האוטומט מגיע למצב שונה. מגיע על נניח בשלילה שקיימות בקבוצה שתי מילים A והאוטומט i,j>0,i j כך ש- w w i = i j = j ו- w j ו- w i לאותו מצב q. נתבונן במילה 3+i. i המילה שייכת לשפה ולכן האוטומטA מגיע עליה למצב מקבל. כלומר, קריאת הסיפא i+3 מובילה את האוטומט ממצב q למצב מקבל. אבל, מכאן נובע שהאוטומט A מקבל גם את המילה 3+i j שאינה שייכת לשפה. הגענו לסתירה ולכן הנחת השלילה השניה אינה נכונה כלומר, לא קיימות מילים w i ו- w j כמפורט לעיל ועל כל מילה בקבוצה W האוטומט מגיע למצב שונה. אך W אינסופית, ומכאן נובע של- A אינסוף מצבים בסתירה להיותו אוטומט סופי. לכן, גם הנחת השלילה הראשונה שגויה והשפה אינה רגולרית. א. האם השפה רגולרית? הוכח את תשובתך. ב. האם השפה חופשית הקשר? הוכח את תשובתך. L שאלה 1 )איריס ברגורי( תהיינה L 1 ו- L שפות מעל הא"ב {0,1}. תהי L L 1 שפת כל המילים השייכות ל- L אך אינן שייכות ל- L. 1 הוכח או הפרך )על ידי דוגמה נגדית( את הטענה הבאה: אם L 1 ו- L L 1 רגולריות, אז רגולרית הטענה אינה נכונה. דוגמה נגדית: L 1 היא שפת כל המילים שאורכן גדול מ- 3. n>0} L L. }= n n 1 היא רגולרית )להוכחה מלאה יש כמובן להראות אוטומט סופי שמקבל את L(. 1 L L 1 ={ n n n>0, n<3} ={ n n n=1} כלומר, L L 1 היא שפה סופית )שמכילה בדיוק מילה אחת( ולכן רגולרית. אבל ידוע כי L אינה רגולרית שאלה )איריס ברגורי( נתונות השפות הבאות מעל הא"ב :{,} L 1 ={ n m n, m 1} L ={ n n n 1} L 3 ={ n m n, m 1, n m} א. הגדר את השפה L בעזרת L 1 ו- L, 3 תוך שימוש בפעולות איחוד, חיתוך, משלים, שרשור והיפוך )חלק מהפעולות או כולן(. ב. נתון כי רגולרית ו- L אינה רגולרית. בהסתמך על הנתון, על סעיף א' ועל תכונות הסגירות א. ב. L 1 של משפחת השפות הרגולריות, הוכח כי L 3 L1 L3 L1 L3 נניח בשלילה כי L 3 אינה רגולרית. L רגולרית. מסגירות משפחת השפות הרגולריות לפעולת המשלים נובע כי גם L 3 רגולרית. מהנתון ( 1 L רגולרית( ומסגירות משפחת
ע) ב. השפות הרגולריות לחיתוך נובע כי גם L1 L 3 רגולרית. סעיף א'( ולכן קיבלנו כי L "פ L L1 אבל L3 רגולרית, בסתירה לנתון. לכן, ההנחה היתה שגויה ו- L 3 אינה רגולרית. שאלה תהי L שפת כל המילים מעל הא"ב {,,} שאורכן לפחות 6, ובין 3 האותיות בהן מתחילה המילה אין. האם שפה זו רגולרית? 3 האותיות בהן מסתיימת המילה אין שתי אותיות זהות שתי אותיות זהות ובין הוכיחו את תשובתכם. ניתן להגדיר את L בעזרת שתי השפות הבאות: L 1 היא שפת כל המילים מעל הא"ב {,,} שאורכן בדיוק 3 ואין בהן שתי אותיות זהות..{,,} היא שפת כל המילים מעל הא"ב L L 1 היא סופית ולכן רגולרית. L אף היא רגולרית )מוכח בספר לתלמיד(. רגולרית ולכן גם L 1 L מסגירות משפחת השפות הרגולריות לשרשור גם.L=L 1 L L 1 L=(L 1 L ) L 1 רגולרית. שאלה זו מדגימה יפה כי השימוש בפירוק יכול להפחית בצורה משמעותית את המורכבות הטכנית של, בעוד שבניית אוט ומט ישיר לשפה כלל אינה ה, ובמקרה זה אפילו אין צורך לבנות אוטומט טריוויאלית. נתונות שתי שפות מעל הא"ב :{,,} א. היא שפת כל המילים המתחילות ב-. L 1 היא שפת כל המילים המתחילות ב-. L נתון כי L 1 ו- L רגולריות. הוכח, תוך שימוש בנתון ובתכונות סגירות, כי L 3 אף היא רגולרית, כאשר L 3 היא שפת כל המילים מעל הא"ב {,,} המתחילות ב-. בעזרת L 1 ו- L אשר הוצעו ע"י תלמידים תוך ניסיון לפתור את L 3 לפניך הגדרות שונות של ב. סעיף א'. לכל הגדרה קבע אם היא נכונה או שגויה, ואם היא שגויה )כלומר אינה שווה ל- L( 3 כתוב איזו שפה היא יוצרת. L1 L I L L ) II ( L L ( 1 { }) 1 III L1 L IV L 1 L V סעיף א' של השאלה מתאים כשיעורי בית או כשאלה בבחינה. כדאי להפריד ממנו את סעיף ב' ולתת אותו אח"כ כבסיס לעבודת כיתה )וכמובן שאם תוך סעיף א' נתנו התלמידים פירוקים אחרים ל- L 3 כדאי לדון גם בהם(. וגם אינן שפת כל המילים המתחילות ב- מכילה בדיוק את כל המילים שאינן מתחילות ב- א.. מאחר שנתון ש- L 1 ו- L L { מתחילות ב-, וגם אינן המילה הריקה. כלומר } L3 1 L L 1 L רגולריות, ומאחר ש-{ } סופית, ולכן גם כן רגולרית, ומאחר שהשפות הרגולריות סגורות לפעולת המשלים הרי שגם, ו-{ } רגולריות ומסגירות משפחת השפות הרגולריות L L1 L רגולרית. 3 (L1 L) { רגולרית וגם { לפעולת החיתוך גם הן או המילה הריקה או מילים ואינן מתחילות ב- המילים שאינן מ תחילות ב- I L1 L אך לא )המילה הריקה שייכת לשפה שמתחילות ב-, ולכן אין זו השפה המבוקשת לשפה.)L 3 אין מילים ששייכות ל- L 1 L משום שאין מילה שגם מתחילה ב- וגם מתחילה ב-. לכן II.{,,} היא השפה הריקה ושפת המשלים שלה היא שפת כל המילים מעל הא"ב L 1 L
{ } L 1 L היא שפת כל המילים שמתחילות ב- או מתחילות ב- או שהן המילה הריקה. משלימתה היא לכן שפת כל המילים שמתחילות ב- כלומר L 3 )כמובן, מכללי דה- מורגן ומסעיף א' ניתן לקבל זאת, אלא שלא כל התלמידים מכירים את כללי דה-מורגן(. כל המילים שאינן מתחילות ב- או שאינן מתחילות ב- היא שפת כל המילים מעל הא "ב מילה מתחילה ב- ואם היא אינה מתחילה ב- אז משום שאם מילה מתחילה ב-,{,,} אז היא אינה מתחילה ב- וכמובן המילה הריקה או מילה שמתחילה ב- אינה מתחילה ב- וגם אינה מתחילה ב- ולכן כל מילה מקיימת לפחות את אחד משני התנאים )שוב ניתן להגיע לכך גם מכללי דה-מורגן וסעיף.)II כאמור בסעיף L 1 L,II היא השפה הריקה.Ø III IV V